package com.zhongke.cotrun.mapper;

import com.zhongke.cotrun.model.pojo.Region;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;

/**
* 作者 yhl
* 日期 2020-01-05 15:06:00
* 描述 
*/
@Mapper()
public interface RegionMapper {

    /**
     * 根据区域ID查询单个区域
     * @param regionId
     * @return
     */
    Region queryByRegionId(Integer regionId);
    /**
     * 根据区域ID获取当前区域下面所有子区域集合
     *
     * @param regionId 区域id
     * @return
     */
    List<Region> listAllChildrenRegion(int regionId);

    /**
     * 根据主键删除数据
     * @param regionId
     */
    int deleteByPrimaryKey(Integer regionId);

    /**
     * 插入数据库记录（不建议使用）
     * @param record
     */
    int insert(Region record);

    /**
     * 插入数据库记录（建议使用）
     * @param record
     */
    int insertSelective(Region record);

    /**
     * 根据主键id查询
     * @param regionId
     */
    @Cacheable(cacheNames = "sysConfig:region:key",key = "#regionId")
    Region selectByPrimaryKey(Integer regionId);

    /**
     * 修改数据(推荐使用)
     * @param record
     */
    int updateByPrimaryKeySelective(Region record);

    /**
     * 修改数据
     * @param record
     */
    int updateByPrimaryKey(Region record);
}